Deblocking filter control device and program

ABSTRACT

A deblocking filter control device that controls a deblocking filter process performed on a decoded image includes: a parameter deriver configured to derive a parameter value that controls a filter strength in the deblocking filter process; and a parameter transformer configured to output a transformed parameter value by transforming the parameter value based on an input bit depth that is a bit depth of the video signal, wherein when the input bit depth is smaller than a predetermined bit depth, the parameter transformer is configured to output the transformed parameter value by adding an offset value to the parameter value and making a bit shift of a result of the addition, and the parameter transformer is configured to change the offset value based on the input bit depth.

RELATED APPLICATIONS

The present application is a continuation based on PCT Application No.PCT/JP2021/014144, filed on Apr. 1, 2021, which claims the benefit ofJapanese Patent Application No. 2020-067043 filed on Apr. 2, 2020. Thecontent of which is incorporated by reference herein in their entirety.

TECHNICAL FIELD

The present invention relates to a deblocking filter control device anda program.

BACKGROUND ART

In video encoding schemes, block distortion may occur in a decoded imagein some cases because an original image is divided into blocks, and aprediction process, a transform process, and a quantization process areapplied on a divided block basis. Accordingly, in video encoding schemessuch as HEVC (High Efficiency Video Coding) and/or a VVC (VersatileVideo Coding) specification draft (hereinafter, VVC) described in NonPatent Literature 1, a deblocking filter is introduced that mitigatesblock distortion by applying an in-loop filter process to a decodedimage.

Application control of the deblocking filter in HEVC and/or VVC isperformed with respect to each boundary between blocks on which thetransform process is to be performed (blocks to be transformed),depending on pixel values in an area near the boundary in a decodedimage prior to a deblocking filter process and a quantization parameterapplied to the blocks to be transformed straddling the boundary, and thelike. One of parameter values that control filter strength in such adeblocking filter process is “t_(C)”.

In HEVC, since a main encoding target is a video signal with a bit depthof 8 bits, a table of t_(C) values corresponding to the quantizationparameter QP defined in HEVC stores values corresponding to the videosignal with a bit depth of 8 bits. In VVC, on the other hand, valuescorresponding to a 10-bit video signal are defined in a t_(C) tablebecause a main encoding target is a video signal with a bit depth of 10bits.

In VVC, since the t_(C) table corresponding to the 10-bit video signalis defined for the deblocking filter process as described above, whenthe bit depth of an encoding-target video is not 10 bits, a transformprocess on t_(C) is performed based on the bit depth of the input video.Specifically, Non Patent Literature 1 describes that the transformprocess is performed by making a bit shift and an offset, as indicatedby the following expression.

t _(C)=BitDepth<10?(t _(C)′+2)>>(10−BitDepth): t_(C)′×(1<<(BitDepth−10))

In the above, “BitDepth” is the bit depth of an input video, “t_(C)′” ist_(C) prior to transformation, “>>” indicates an arithmetic right shift,and “<<” indicates an arithmetic left shift. The above transformexpression means that when the bit depth of an input video is less than10 bits, t_(C) after transformation is calculated as

t _(C)=(t _(C)′+2)>>(10−BitDepth), and

when the bit depth of an input video is equal to or more than 10 bits,t_(C) after transformation is calculated as

t _(C) =t _(C)′×(1<<(BitDepth−10)).

CITATION LIST Non Patent Literature

-   Non Patent Literature 1: JVET-Q2001 “Versatile Video Coding (Draft    8)”

DISCLOSURE OF INVENTION

A deblocking filter control device according to a first feature controlsa deblocking filter process performed on a decoded image, in an encodingdevice that encodes a video signal or a decoding device that decodes anencoded video signal. The deblocking filter control device includes: aparameter deriver configured to derive a parameter value that controls afilter strength in the deblocking filter process; and a parametertransformer configured to output a transformed parameter value bytransforming the parameter value based on an input bit depth that is abit depth of the video signal, wherein when the input bit depth issmaller than a predetermined bit depth, the parameter transformer isconfigured to output the transformed parameter value by adding an offsetvalue to the parameter value and making a bit shift of a result of theaddition, and the parameter transformer is configured to change theoffset value based on the input bit depth.

A program according to a second feature causes a computer to function asthe deblocking filter control device according to the first feature.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating the configuration of an encoding deviceaccording to an embodiment.

FIG. 2 is a diagram illustrating an example of operation of a deblockingfilter according to the embodiment.

FIG. 3 is a diagram illustrating operation of a parameter transformeraccording to the embodiment.

FIG. 4 s is a diagram illustrating the configuration of a decodingdevice according to the embodiment.

DESCRIPTION OF EMBODIMENTS

As a result of studious review, the inventors of the present applicationhave found a problem that the transform expression according to NonPatent Literature 1 does not properly work under a predeterminedcondition. With the transform expression according to Non PatentLiterature 1, an appropriate transform process cannot be performedparticularly when the bit depth of an input video is 9 bits, and thereis, therefore, concern that pixel values may be corrected by theunintended deblocking filter process, and deterioration may be caused inthe video.

Accordingly, an object of the present disclosure is to make it possibleto appropriately control the deblocking filter process, according to thebit depth of an input video.

An encoding device and a decoding device according to an embodiment aredescribed with reference to the accompanying drawings. The encodingdevice and the decoding device according to the embodiment encode anddecode videos such as MPEG (Moving Picture Experts Group) videos. In thedescription of the drawings below, the same or similar reference signsare used for the same or similar parts.

<Encoding Device>

A configuration of an encoding device according to the presentembodiment will be described first. FIG. 1 is a diagram illustrating aconfiguration of an encoding device 1 according to the presentembodiment. The encoding device 1 is a device that performs encoding oneach of blocks obtained by dividing an image.

As illustrated in FIG. 1, the encoding device 1 includes a block divider100, a subtractor 110, a transformer/quantizer 120, an entropy encoder130, an inverse quantizer/inverse transformer 140, a combiner 150, adeblocking filter 160, a deblocking filter control device 161, a memory170, and a predictor 180.

The block divider 100 divides an input image given in the form of aframe (or a picture) that constitutes a part of a video into a pluralityof image blocks and outputs the resulting image blocks to the subtractor110. The size of the image blocks may be 32×32 pixels, 16×16 pixels, 8×8pixels, or 4×4 pixels. The shape of the image blocks is not limited tosquare and may be rectangular (non-square). The image block is a unit(encoding-target block) in which the encoding device 1 performs encodingand is a unit (decoding-target block) in which a decoding deviceperforms decoding. Such an image block is sometimes referred to as a CU(Coding Unit).

It is assumed that the bit depth of a video signal inputted into theblock divider 100 (hereinafter, referred to as “input bit depth”) isbasically 10 bits. However, the input bit depth can be changed within arange of 8 bits to 14 bits. A value indicating the input bit depth (thenumber of bits) may be outputted from the block divider 100 to thedeblocking filter control device 161, or may be outputted from afunctional unit (so-called preprocessor) prior to the block divider 100to the deblocking filter control device 161.

The block divider 100 performs block division on a luminance signal anda chrominance signal. A luminance block and a chrominance block aresimply referred to as an encoding-target block when the blocks are notparticularly distinguished from each other.

The subtractor 110 calculates prediction residuals that representdifferences (errors) between an encoding-target block outputted from theblock divider 100 and a prediction block obtained by the predictor 180predicting the encoding-target block. The subtractor 110 calculates aprediction residual by subtracting each pixel value in the predictionblock from each pixel value in the block, and outputs the calculatedprediction residuals to the transformer/quantizer 120.

The transformer/quantizer 120 executes a transform process and aquantization process on each of blocks. The transformer/quantizer 120includes a transformer 121 and a quantizer 122.

The transformer 121 calculates transform coefficients for each frequencycomponent by performing a transform process on the prediction residualoutputted from the subtractor 110 and outputs the calculated transformcoefficients to the quantizer 122. The transform process(transformation) is a process of transforming a pixel-domain signal intoa frequency-domain signal and includes, for example, discrete cosinetransform (DCT), discrete sine transform (DST), Karhunen Loeve transform(KLT), an integer transform based on any one of such transforms, or thelike. The transform process may include transform skip in whichadjustment is performed by scaling or the like, without transforming apixel-domain signal into a frequency-domain signal.

The quantizer 122 quantizes the transform coefficients outputted fromthe transformer 121 by using a quantization parameter and a quantizationmatrix, and outputs the quantized transform coefficients to the entropyencoder 130 and the inverse quantizer/inverse transformer 140. Moreover,the quantizer 122 outputs information related to the quantizationprocess (specifically, information on the quantization parameter and thequantization matrix used in the quantization process) to the entropyencoder 130, the inverse quantizer 141, and the deblocking filtercontrol device 161.

Here, the quantization parameter is a parameter where one value of whichis set for one block. Specifically, the quantization parameter is aparameter that is applied in common to each transform coefficient in ablock, and is a parameter that determines quantization granularity (stepsize). The quantization matrix is a matrix including values that are setfor each component in one block. Specifically, the quantization matrixis a matrix including values (weighted coefficients) that are set foreach component including i×j elements depending on a block size, and isused to adjust the quantization granularity for each of the componentsranging from low to high frequencies of the transform coefficients.

The entropy encoder 130 performs entropy encoding on the transformcoefficients outputted from the quantizer 122, generates an encodedstream (bit stream) by performing data compression, and outputs theencoded stream to an outside of the encoding device 1. For the entropyencoding, Huffman coding and/or CABAC (Context-based Adaptive BinaryArithmetic Coding) or the like can be used.

Moreover, the entropy encoder 130 acquires information on the size, theshape and the like of each encoding-target block and the bit depth fromthe block divider 100, acquires the information related to thequantization process from the quantizer 122, acquires informationrelated to prediction (for example, information on a prediction mode anda motion vector) from the predictor 180, and also performs encoding onthe information.

The inverse quantizer/inverse transformer 140 executes an inversequantization process and an inverse transform process on each of blocks.The inverse quantizer/inverse transformer 140 includes an inversequantizer 141 and an inverse transformer 142.

The inverse quantizer 141 performs the inverse quantization processcorresponding to the quantization process performed by the quantizer122. More specifically, the inverse quantizer 141 inverse quantizes thetransform coefficients outputted from the quantizer 122 by using thequantization parameter and the quantization matrix to restore thetransform coefficients, and outputs the restored transform coefficientsto the inverse transformer 142.

The inverse transformer 142 performs the inverse transform processcorresponding to the transform process performed by the transformer 121.For example, when the transformer 121 performs DCT, the inversetransformer 142 performs inverse DCT. The inverse transformer 142restores the prediction residual by performing the inverse transformprocess on the transform coefficients outputted from the inversequantizer 141 and outputs a restoration prediction residual that is therestored prediction residual to the combiner 150.

The combiner 150 combines the restoration prediction residual outputtedfrom the inverse transformer 142 with a prediction block outputted fromthe predictor 180, on a pixel-by-pixel basis. The combiner 150reconstructs (decodes) an encoding-target block by adding individualpixel values of the restoration prediction residual to individual pixelvalues of the prediction block and outputs a decoded image(reconstructed block) on each of reconstructed blocks to the deblockingfilter 160.

The deblocking filter 160 performs a filter process for the blockboundary between two blocks including a reconstructed block and anadjacent block that is adjacent to the reconstructed block, and outputsthe reconstructed block after the filter process to the memory 170. Thefilter process is a process for mitigating signal deterioration causedby the block-based processes, and is a filter process of smoothing asignal gap at the block boundary between two adjacent blocks. Thedeblocking filter 160 is configured, in general, as a low-pass filterthat makes signal changes more gradual.

FIG. 2 is a diagram illustrating an example of operation of thedeblocking filter 160 according to the present embodiment. In theexample illustrated in FIG. 2, although an example is illustrated inwhich the deblocking filter 160 performs the filter process for theblock boundary of each 8×8 pixel block, the deblocking filter 160 mayperform the filter process for a block boundary of each 4×4 pixel block.The deblocking filter 160 performs the filter process on each four rowsor each four columns as a unit. Referring to blocks P and Q in FIG. 2,an example is illustrated in which each of the blocks P and Q is a unitof the filter process by the deblocking filter 160, and has a block sizeof 4×4 pixels. Each of the blocks P and Q may be referred to also as“sub-block”.

The deblocking filter control device 161 controls the deblocking filter160. More specifically, the deblocking filter control device 161controls boundary strength (Bs) indicating whether or not the filterprocess is performed on a block boundary of the target block pair, andfilter strength of the deblocking filter 160. The boundary strength Bsrefers to a parameter for determining whether or not the filter processis applied and a type of the filter process. Note that control ofwhether or not a filter process is performed can be regarded as controlof whether the boundary strength Bs is set to one or more, or to zero.

The deblocking filter control device 161 controls the deblocking filter160, based on variations of pixel values in an area near the boundary ofthe target block pair, the prediction mode, the quantization parameter,and values of motion vectors used in motion-compensated prediction(inter prediction).

Moreover, the deblocking filter control device 161 according to thepresent embodiment controls the filter strength of the deblocking filter160, based on the input bit depth and the quantization parameter used inthe quantization process and the inverse quantization process.Hereinafter, it is assumed that an encoding-target block or a sub-blockof the encoding-target block is a block P, and an adjacent block or asub-block of the adjacent block is a block Q.

The deblocking filter control device 161 determines a boundary strengthBs, for example, based on Table 1 below. It is assumed that the value ofthe boundary strength Bs is any one of 0, 1, 2. Note that a boundarystrength may be calculated for a block of each of a luminance signal anda chrominance signal, or a combination of boundary strengths for blocksof a luminance signal and a chrominance signal may be determined as oneboundary strength.

TABLE 1 Bs value Condition of determining Bs value 2 Intra prediction isapplied to at least one of two blocks 1 At least one of two blocksincludes non-zero coefficient 1 Numbers of motion vectors of two blocks,or reference images thereof, are different 1 Difference between motionvectors of two blocks is equal to or larger than threshold value 0 Otherthan the above

As indicated in Table 1, the deblocking filter control device 161 setsthe value of Bs to 2 when intra prediction is applied to at least one ofthe blocks P and Q.

The deblocking filter control device 161 sets the value of Bs to 1 wheninter prediction is applied to both of the blocks P and Q, and when atleast one condition of the following (a) to (c) is satisfied, andotherwise sets the value of Bs to 0.

(a) At least one of the blocks P and Q includes a significant transformcoefficient (that is, a non-zero coefficient).

(b) The numbers of motion vectors of the blocks P and Q, or referenceimages thereof, are different.

(c) The absolute value of a difference between motion vectors of theblocks P and Q is equal to or larger than a threshold value (forexample, one pixel).

When the value of the boundary strength Bs is 0, the deblocking filtercontrol device 161 controls the deblocking filter 160 such that thefilter process is not performed for the boundary between the blocks Pand Q.

The deblocking filter control device 161 includes a parameter deriver161 a. The parameter deriver 161 a derives parameter values (thresholdvalues) β and t_(C)′ for controlling the filter strength of thedeblocking filter 160, based on the quantization parameter Qp_(P) usedin the quantization process and the inverse quantization process on theblock P, the quantization parameter Qp_(Q) used in the quantizationprocess and the inverse quantization process on the block Q, and anoffset value qpOffset.

First, the parameter deriver 161 a calculates a variable qP, forexample, based on the following expression.

qP = ((Qp_(Q) + Qp_(P) + 1)>> 1) + qpOffset

In the above, “>>” indicates a shift operator (arithmetic right shift).The expression is, basically, a calculation expression to obtain anaverage of the quantization parameter Qp_(P) for the block P and thequantization parameter Qp_(Q) for the block Q.

Second, the parameter deriver 161 a calculates Q for deriving theparameter value β, for example, based on the following expression.

Q = Clip 3(0, 63, qP + (slice_beta_offset_div 2<< 1))

In the above, “<<” indicates a shift operator (arithmetic left shift).“Clip3(X, Y, Z)” is a clip operator that returns X when Z is smallerthan X, returns Y when Z is larger than Y, and otherwise returns Z.“slice_beta_offset_div2” is one of parameters to signal to a decodingdevice 2.

Moreover, the parameter deriver 161 a calculates Q for deriving theparameter value t_(C)′, for example, based on a following expression.

Q = Clip 3(0, 65, qP + 2 * (bS − 1) + (slice_tc_offset_div 2<< 1))

Here, “bS” is a value of Bs. “slice_tc_offset_div2” is one of theparameters to signal to the decoding device 2.

Third, the parameter deriver 161 a derives the parameter values β andt_(C)′ from respectively calculated Q, based on Table 2 below.

TABLE 2 Q 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 β′ 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 6 t_(c)′ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q 17 18 19 2021 22 23 24 25 26 27 28 29 30 31 32 33 β′ 7 8 9 10 11 12 13 14 15 16 1718 20 22 24 26 28 t_(c)′ 0 3 4 4 4 4 5 5 5 5 7 7 8 98 10 10 11 Q 34 3536 37 38 39 40 41 42 43 44 45 46 47 48 49 50 β′ 30 32 34 36 38 40 42 4446 48 50 52 54 56 58 60 62 t_(c)′ 13 14 15 17 19 21 24 25 29 33 36 41 4551 57 64 71 Q 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 β′ 64 66 6870 72 74 76 78 80 82 84 86 88 — — t_(c)′ 80 89 100 112 125 141 157 177198 222 250 280 314 352 395

Here, “t_(C)′” is values corresponding to a video signal with a bitdepth of 10 bits.

The deblocking filter control device 161 further includes a parametertransformer 161 b. The parameter transformer 161 b outputs a transformedparameter value t_(C) by transforming the parameter value t_(C)′ basedon the input bit depth. The transformed parameter value t_(C) representsa value of t_(C)′ after the transform process is applied such that theparameter value t_(C)′ corresponds to the input bit depth.

In the present embodiment, when the input bit depth is smaller than apredetermined bit depth, the parameter transformer 161 b outputs thetransformed parameter value t_(C) by adding an offset value to theparameter value t_(C)′ and making a bit shift of a result of theaddition. The parameter transformer 161 b changes the offset value,based on the input bit depth. Details of operation of the parametertransformer 161 b will be described later.

The deblocking filter control device 161 further includes a filterstrength controller 161 c. The filter strength controller 161 c controlsthe filter strength of the deblocking filter 160, based on the value ofthe boundary strength Bs and the parameter values β and t_(C).

When the value of the boundary strength Bs is 1 or 2, the filterstrength controller 161 c may control the deblocking filter 160 suchthat the filter process is performed only when a following expression issatisfied (see FIG. 2).

$\begin{matrix}{{{{{p\; 2_{0}} - {2p1_{0}} + {p0_{0}}}} + {{{p2_{3}} - {2p1_{3}} + {p0_{3}}}} + {{{q2_{0}} - {2q1_{0}} + {q0_{0}}}} + {{{q2_{3}} - {2q1_{3}} + {q0_{3}}}}} < {\quad\beta}} & \left\lbrack {{Expression}\mspace{14mu} 1} \right\rbrack\end{matrix}$

Moreover, when the filter process is performed, the filter strengthcontroller 161 c may apply a stronger filter when all of followingconditional expressions are satisfied, and otherwise apply a weakerfilter (see FIG. 2).

$\begin{matrix}{{{2\left( {{{{p2_{0}} - {2p1_{0}} + {p0_{0}}}} + {{{q2_{0}} - {2q1_{0}} + {q0_{0}}}}} \right)} < {\beta/4}}{{2\left( {{{{p2}_{3} - {2p1_{3}} + {p0_{3}}}} + {{{q2}_{3} - {2q1_{3}} + {q0_{3}}}}} \right)} < {\beta/4}}{{{{{p3_{0}} - {p0_{0}}}} + {{{q0_{0}} - {q3_{0}}}}} < {\beta/8}}{{{{{p3}_{3} - {p0_{3}}}} + {{{q\; 0_{3}} - {q3_{3}}}}} < {\beta/8}}{{{{p0_{0}} - {q0_{0}}}} < {\left( {{5t_{C}} + 1} \right)/2}}{{{{p\; 0_{3}} - {q0_{3}}}} < {\left( {{5t_{C}} + 1} \right)/2}}} & \left\lbrack {{Expression}\mspace{14mu} 2} \right\rbrack\end{matrix}$

Referring back to FIG. 1, the memory 170 accumulates reconstructedblocks outputted from the deblocking filter 160 as decoded images inunits of frames. The memory 170 outputs the stored decoded images to thepredictor 180.

The predictor 180 generates a prediction block corresponding to anencoding-target block by performing a prediction process in units of theblock, and outputs the generated prediction block to the subtractor 110and the combiner 150. The predictor 180 includes an inter predictor 181,an intra predictor 182 and a switcher 183.

The inter predictor 181 calculates a motion vector through a scheme suchas block matching by using, for a reference image, a decoded imagestored in the memory 170, generates an inter prediction block bypredicting an encoding-target block, and outputs the generated interprediction block to the switcher 183. The inter predictor 181 selects anoptimal inter prediction method, from inter prediction using a pluralityof reference images (typically, bi-prediction) and inter predictionusing one reference image (uni-directional prediction), and performsinter prediction by using the selected inter prediction method. Theinter predictor 181 outputs information related to inter prediction (themotion vector and the like) to the entropy encoder 130 and thedeblocking filter control device 161.

The intra predictor 182 selects an optimal intra prediction mode to beapplied to an encoding-target block from among a plurality of intraprediction modes, and predicts the encoding-target block by using theselected intra prediction mode. The intra predictor 182 generates anintra prediction block by referencing decoded pixel values adjacent tothe encoding-target block of a decoded image stored in the memory 170,and outputs the generated intra prediction block to the switcher 183.The intra predictor 182 outputs information related to the selectedintra prediction mode to the entropy encoder 130 and the deblockingfilter control device 161.

The switcher 183 switches the prediction block between the interprediction block outputted from the inter predictor 181 and the intraprediction block outputted from the intra predictor 182 and outputs oneof the prediction blocks to the subtractor 110 and the combiner 150.

Next, the operation of the parameter transformer 161 b according to thepresent embodiment is described. FIG. 3 is a diagram illustrating theoperation of the parameter transformer 161 b according to the presentembodiment.

As illustrated in FIG. 3, in step S1, the parameter transformer 161 bdetermines whether or not the input bit depth is smaller than thepredetermined bit depth. Hereinafter, it is assumed that the parametervalue is t_(C)′, the offset value is ofs, the input bit depth isBitDepth, the predetermined bit depth is b, and the transformedparameter value is t_(C). In the present embodiment, it is assumed thatthe predetermined bit depth b is 10 bits.

When the input bit depth is smaller than the predetermined bit depth(step S1: YES), in step S2, the parameter transformer 161 b calculatesthe offset value ofs, based on a following expression.

ofs = 1<< (b−1 − BitDepth)

In step S3, the parameter transformer 161 b calculates the transformedparameter value t_(C), based on a following expression.

t_(C) = (t_(C)^(′) + ofs)>> (b − BitDepth)

When the input bit depth is equal to or more than the predetermined bitdepth (step S1: NO), in step S4, the parameter transformer 161 bcalculates the transformed parameter value t_(C), based on a followingexpression.

t_(C) = t_(C)^(′) × (1<< (BitDepth − b))

Next, operation and effects of the deblocking filter control device 161according to the present embodiment are described.

The transform expression according to Non Patent Literature 1 mentionedabove does not take into consideration a case where the input bit depthis 9 bits. When the transform expression according to Non PatentLiterature 1 is applied to a 9-bit video signal, a problem arises thatappropriate values are not obtained if 2 is added to an original valueof t_(C)′ and then a result of the addition is shifted by 1 bit.

As indicated in Table 2, when a smaller value is set as Q (that is, whena quantization step is smaller), the t_(C)′ value is set at 0 because avideo includes few quantization errors, so that values are configurednot to be corrected when the deblocking filter process is applied.However, with the transform expression according to Non PatentLiterature 1, as a result of transformation on a 9-bit video signal, thet_(C) value after the transformation is 1 due to the process of

t_(C) = (t_(C)^(′) + 2)>> 1

even if t_(C)′ is set at 0. As a result, correction of pixel valuesthrough the unintended deblocking filter process occurs, which causesdeterioration in the video.

In contrast, according to the present embodiment, a novel concept of theoffset value ofs that is changed according to the input bit depthBitDepth is introduced, and t_(C) after transformation is calculatedbased on the following expression.

t_(C) = (t_(C)^(′) + ofs)>> (b − BitDepth)ofs = 1<< (b−1 − BitDepth)

Thus, the problem as described above can be resolved. Note that when thepredetermined bit depth b is 10 bits, t_(C) after transformation iscalculated as in the following expression.

t_(C) = BitDepth < 10?  (t_(C)^(′) + ofs)>> (10−BitDepth) : t_(C)^(′) × (1<< (BitDepth − 10))ofs = 1<< (9−BitDepth)

<Decoding Device>

Next, a configuration of the decoding device according to the presentembodiment is described, focusing mainly on differences from theconfiguration of the encoding device described above. FIG. 4 is adiagram illustrating the configuration of the decoding device 2according to the present embodiment. The decoding device 2 is a devicethat decodes a decoding-target block from an encoded stream.

As illustrated in FIG. 4, the decoding device 2 includes an entropydecoder 200, an inverse quantizer/inverse transformer 210, a combiner220, a deblocking filter 230, a deblocking filter control device 231, amemory 240, and a predictor 250.

The entropy decoder 200 decodes various signaling information bydecoding an encoded stream generated by the encoding device 1.Specifically, the entropy decoder 200 acquires information related to aquantization process has applied to a decoding-target block, and outputsthe acquired information to the inverse quantizer 211 and the deblockingfilter control device 231. Moreover, the entropy decoder 200 acquiresinformation related to prediction has applied to a decoding-target block(for example, prediction type information, motion vector information),and outputs the acquired information to the predictor 250 and thedeblocking filter control device 231.

The entropy decoder 200 decodes the encoded stream, acquires quantizedtransform coefficients, and outputs the acquired transform coefficientsto the inverse quantizer/inverse transformer 210 (inverse quantizer211).

The inverse quantizer/inverse transformer 210 executes an inversequantization process and an inverse transform process on each of blocks.The inverse quantizer/inverse transformer 210 includes an inversequantizer 211 and an inverse transformer 212.

The inverse quantizer 211 performs the inverse quantization processcorresponding to the quantization process performed by the quantizer 122of the encoding device 1. The inverse quantizer 211 inverse-quantizesthe quantized transform coefficients outputted from the entropy decoder200 by using the quantization parameter and the quantization matrix torestore transform coefficients in the decoding-target block, and outputsthe restored transform coefficients to the inverse transformer 212.

The inverse transformer 212 performs an inverse transform processcorresponding to the transform process performed by the transformer 121of the encoding device 1. The inverse transformer 212 restores theprediction residual by performing the inverse transform process on thetransform coefficients outputted from the inverse quantizer 211 andoutputs the restored prediction residual (restoration predictionresidual) to the combiner 220.

The combiner 220 reconstructs (decodes) the decoding-target block bycombining the prediction residual outputted from the inverse transformer212 and a prediction block outputted from the predictor 250 on apixel-by-pixel basis, and outputs a reconstructed block to thedeblocking filter 230.

The deblocking filter 230 performs operation similar to the operation ofthe deblocking filter 160 of the encoding device 1.

The deblocking filter control device 231 performs operation similar tothe operation of the deblocking filter control device 161 of theencoding device 1, based on the information (bit depth information andthe like) outputted from the entropy decoder 200. Specifically, thedeblocking filter control device 231 includes a parameter deriver 231 a,a parameter transformer 231 b, and a filter strength controller 231 c,similarly to the deblocking filter control device 161 of the encodingdevice 1. Here, the parameter transformer 231 b operates according tothe flow in FIG. 3.

The memory 240 stores the reconstructed blocks outputted from thedeblocking filter 230 as decoded images in units of frames. The memory240 outputs the decoded images in units of frames to an outside of thedecoding device 2.

The predictor 250 performs prediction in units of blocks. The predictor250 includes an inter predictor 251, an intra predictor 252 and aswitcher 253.

The inter predictor 251 predicts a decoding-target block through interprediction by using, for a reference image, a decoded image stored inthe memory 240. The inter predictor 251 generates an inter predictionblock by performing inter prediction, by using the motion vectorinformation outputted from the entropy decoder 200, and outputs thegenerated inter prediction block to the switcher 253.

The intra predictor 252 references reference pixels adjacent to adecoding-target block of a decoded image stored in the memory 240, andpredicts the decoding-target block through intra prediction, based onthe information outputted from the entropy decoder 200. The intrapredictor 252 generates an intra-prediction block, and outputs thegenerated intra prediction block to the switcher 253.

The switcher 253 switches the prediction block between the interprediction block outputted from the inter predictor 251 and the intraprediction block outputted from the intra predictor 252 and outputs oneof the prediction blocks to the combiner 220.

OTHER EMBODIMENTS

In the above-described embodiment, different transform expressions maybe used between when the input bit depth is 9 bits and other cases. Insuch a scheme, when the input bit depth is 9 bits, an offset value maybe set that is different from an offset value used in the other cases.

A program may be provided to cause a computer to execute the operationsof the image encoding device 1. A program may be provided to cause acomputer to execute the operations of the image decoding device 2. Theprogram may be stored in a computer-readable medium. The program can beinstalled on a computer from a computer-readable medium having theprogram stored thereon. The computer-readable medium having the programstored thereon may be a non-transitory recording medium. Thenon-transitory recording medium may include, but is not limited to, aCD-ROM and a DVD-ROM for example.

The encoding device 1 may be embodied as a semiconductor integratedcircuit (chipset, SoC, etc.) by integrating the circuits that executethe respective operations of the encoding device 1. The decoding device2 may be embodied as a semiconductor integrated circuit (chipset, SoC,etc.) by integrating the circuits that execute the respective operationsof the decoding device 2.

The embodiments have been described in detail above with reference tothe drawings. Specific configurations are not limited to theabove-described configurations, and various design changes, and the likeare possible within the scope not deviating from the gist.

1. A deblocking filter control device that controls a deblocking filterprocess performed on a decoded image, in an encoding device that encodesa video signal or a decoding device that decodes an encoded videosignal, the deblocking filter control device comprising: a parameterderiver configured to derive a parameter value that controls a filterstrength in the deblocking filter process; and a parameter transformerconfigured to output a transformed parameter value by transforming theparameter value based on an input bit depth that is a bit depth of thevideo signal, wherein when the input bit depth is smaller than apredetermined bit depth, the parameter transformer is configured tooutput the transformed parameter value by adding an offset value to theparameter value and making a bit shift of a result of the addition, andthe parameter transformer is configured to change the offset value basedon the input bit depth.
 2. The deblocking filter control deviceaccording to claim 1, wherein when the input bit depth is smaller thanthe predetermined bit depth, the parameter transformer is configured tocalculate the transformed parameter value based ont_(C) = (t_(C)^(′) + ofs)>> (b − BitDepth), and to calculate the offsetvalue based on ofs = 1<< (b−1 − BitDepth) where t_(C)′ is the parametervalue, ofs is the offset value, BitDepth is the input bit depth, b isthe predetermined bit depth, and t_(C) is the transformed parametervalue.
 3. The deblocking filter control device according to claim 2,wherein when the input bit depth is equal to or larger than thepredetermined bit depth, the parameter transformer is configured tocalculate the transformed parameter value based ont_(C) = t_(C)^(′) × (1<< (BitDepth − b)).
 4. The deblocking filtercontrol device according to claim 1, wherein the predetermined bit depthis 10 bits.
 5. The deblocking filter control device according to claim4, wherein the input bit depth is 9 bits.
 6. A program causing acomputer to function as the deblocking filter control device accordingto claim 1.